package by.vr.jpa.result.transformer.dao.api;

import java.util.List;

public interface GenericDao<T, K> {
	
	List<T> find(String queryName, List<QueryParam> params);
	
	T findOne(String queryName, List<QueryParam> params);
	
	<N> List<N> findObjects(String queryName, List<QueryParam> params);
	
	<N> N findObject(String queryName, List<QueryParam> params);
	
	List<T> findLazy(String queryName, List<QueryParam> params);
	
	T findLazyOne(String queryName, List<QueryParam> params);
	
	<N> List<N> findLazyObjects(String queryName, List<QueryParam> params);
	
	<N> N findLazyObject(String queryName, List<QueryParam> params);
	
	

}
